An electronic device may include a processor that executes a variety of different types of computer-executable instructions, for example, programs, applications, modules, etc., to perform various respective functionalities. While executing these applications, the application may receive a command, which may be manually inputted by a user or may be automatically generated by another application. The command may require some resource of the electronic device. In a first example, the resource may be a processing power for the command to be performed that occupies an available capacity of the processor. In a second example, the electronic device may include storage components such as, for example, a disk drive that enables data to be stored in a general manner, and a Random Access Memory (RAM) that enables the applications to request an allocation of the RAM for temporary use while the command is executed. Accordingly, the RAM may represent another resource that is requested by the application to perform the various respective functionalities.
The electronic device may be subject to malicious attacks that may install or execute malicious software using resources of the electronic device. That is, the applications that are executed by the processor may include the intended applications such as, for example, an operating system (OS) and associated actions of the OS, but may also include unintended applications such as, for example, malicious software (malware) and associated actions of the malware. Those skilled in the art will understand that the malicious software may operate in a manner that is unknown to the user, and may utilize whatever resources available on the electronic device. The malicious software may operate in a substantially similar manner as the intended applications. For example, the malicious software may request resources, such as, for example, processing power and RAM. Because the processing power and the RAM are limited resources within the electronic device, the malicious software consumes and/or otherwise renders unavailable these resources that would otherwise be utilized by intended applications, and thereby creating a poor user experience such as, e.g., slower processing speeds.
The electronic device may be configured with settings that may restrict select operations. Specifically, a conventional implementation of system service requests utilizes a trivial security model that primarily depends upon examining an operational mode of the electronic device (e.g., supervisor mode, user mode, guest mode, etc.) at the time the request is made. Thus, when a first operational mode is determined, a first set of requests may be enabled; when a second operational mode is determined, a second set of requests may be enabled; etc. A request outside the scope of an existing operational mode of the electronic device may be rejected. For example, if the first operational mode is a supervisor mode, the first set of requests may include all possible requests. In contrast, the second operational mode may be a user mode that enables a second set of requests that is a subset of the first set of requests. Therefore, if the electronic device is determined to be in a user mode, requests that fall only within the scope of the supervisor model may be rejected. Therefore, if the malicious software were to be executed while the electronic device is operating in the supervisor mode, all requests for resources, including those undesired and/or unauthorized requests from malicious software, may would be processed.